Leave   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 5
eloc 34
dl 0
loc 39
c 0
b 0
f 0
rs 10

5 Functions

Rating   Name   Duplication   Size   Complexity  
A getId 0 3 1
A getDate 0 3 1
A getTime 0 3 1
A getType 0 3 1
A getLeaveRequest 0 3 1
1
import { Entity, Column, PrimaryGeneratedColumn, ManyToOne } from 'typeorm';
2
import { LeaveRequest } from './LeaveRequest.entity';
3
4
@Entity()
5
export class Leave {
6
  @PrimaryGeneratedColumn('uuid')
7
  private id: string;
8
9
  @Column({ type: 'integer', nullable: false, comment: 'Stored in minutes' })
10
  private time: number;
11
12
  @Column({ type: 'date', nullable: false })
13
  private date: string;
14
15
  @ManyToOne(type => LeaveRequest, { nullable: false, onDelete: 'CASCADE' })
16
  private leaveRequest: LeaveRequest;
17
18
  constructor(leaveRequest: LeaveRequest, time: number, date: string) {
19
    this.leaveRequest = leaveRequest;
20
    this.time = time;
21
    this.date = date;
22
  }
23
24
  public getId(): string {
25
    return this.id;
26
  }
27
28
  public getLeaveRequest(): LeaveRequest {
29
    return this.leaveRequest;
30
  }
31
32
  public getType(): string {
33
    return `leave_${this.leaveRequest.getType()}`;
34
  }
35
36
  public getTime(): number {
37
    return this.time;
38
  }
39
40
  public getDate(): string {
41
    return this.date;
42
  }
43
}
44